package coop.bancocredicoop.proyectos.gd.controller.buscarDocumento;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import coop.bancocredicoop.proyectos.gd.domain.Document;
import coop.bancocredicoop.proyectos.gd.query.document.FindDocumentByMap;

public class Main {

	public void buscarDocumento(HttpServletRequest request) throws Exception {

		if (request.getParameter("buscarDocumento") != null) {
			String[] arrGrupoDocumental = request.getParameterValues("grupoDocumental");
			
			if (arrGrupoDocumental == null || arrGrupoDocumental.length == 0) {
				List<String> listError = new LinkedList<String>();
				listError.add("Debe seleccionar al menos un grupo documental.");
				request.setAttribute("listError", listError);
				return;
			}

			if ((request.getParameter("customerId") == null ||
					request.getParameter("customerId").trim().equals("")) &&
					(request.getParameter("cajaId") == null ||
					request.getParameter("cajaId").trim().equals(""))) {
				List<String> listError = new LinkedList<String>();
				listError.add("Debe buscar por asociado o por caja.");
				request.setAttribute("listError", listError);
				return;
			}

			Map<String, String> map = new HashMap<String, String>();

			map.put("customerId", request.getParameter("customerId"));
			map.put("cajaId", request.getParameter("cajaId"));
			map.put("offset", request.getParameter("offset"));
			map.put("pageSize", request.getParameter("pageSize"));

			List<Document> listDocument = new FindDocumentByMap().run(map);
			request.setAttribute("listDocument", listDocument);
			
			List<String> listError = new LinkedList<String>();
			
			if (listDocument == null || listDocument.isEmpty()) {
				listError.add("No se encontraron documentos.");
			}
			
			request.setAttribute("listError", listError);
				
					//new FindDocumentRecientes().run(
					//((Usuario)request.getSession().getAttribute("usuario")).
					//getUserName()));
		}

		//request.setAttribute("listDocument", new Boolean(false));
	}

}
